package org.jeecg.modules.zonglzp.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.zonglzp.entity.CompanyEntity;
import org.jeecg.modules.zonglzp.entity.Customer;
import org.jeecg.modules.zonglzp.entity.User;
import org.jeecg.modules.zonglzp.entity.store;

import java.util.List;
import java.util.Map;

public interface CompanyService {
    //通过用户token查询用户id
    String getUseridbytoken(String token);

    //通过用户id查询公司信息
    CompanyEntity getCompanybyuserId(String userid);

    //通过公司id查询公司下的门店
    IPage<store> querystoreBycompanyId(String companyId, Page<store> page, String orgCode);

    //通过公司id查询公司下所有员工
    IPage<User> getyuangonglistBycompanyId(String companyId, Page<User> page);

    //新增门店
    int addstore(store store);

    //新增客户
    int addcustomer(Customer customer);


    //新增员工
    int addstaff(User user);

    //通过token查询老的标识
    String getoldidentification(String token);

    //通过token修改品牌表
    int updateidentification(String identification, String token);

    //编辑门店信息
    int updatestore(store store);

    //编辑员工信息
    int updatestaff(User user);

    //通过token查询我的公司设置中的信息
    User getcompanysetbytoken(String token);

    //我的公司中设置信息中的修改
    int updatecompanysetbytoken(User user);


    //删除门店
    int deletestore(int storeid);

    //删除员工
    int deletestaff(int id);

    String queryworknamebyworkname(String workNumber);

    String queryusername(String userName);

    String querystoreName(String storeName);

    String querystoreCode(String storeCode);

    //根据门店id查询门店
    store getstorebyid(int storeId);

    //根据人员id查询人员
    User getstaffbyid(int id);


    //通过token查询公司id
    int queryCompanyId(String token);

    //通过token查询公司的code
    String queryCompanyCode(String token);

    //通过公司id查询品牌标志
    List<Map<String, Object>> getppbList(int companyId);

    //通过id删除品牌标
    int deleteppb(int id);


    //修改品牌标志信息
    int updateppb(int id, String ppbname);

    //新增品牌标
    int addppb(String companyId, String ppbname);

    //通过客户编号获取客户id
    int getidbykehubianhao(String wenzi);

    //根据客户名字查询这个客户是否已经存在
    String getcustomerbyname(String customerName);

    //花名册新增客户
    int hmcaddcustomer(Customer customer);


    //花名册中编辑前的客户详情查询
    Customer gethmccustdetail(int id);


    //编辑花名册员工
    int hmcupdatecustomer(Customer customer);

    //判断手机号是否已经存在
    String queryoldphone(String phone);

    //通过门店id查询下面所有员工
    List<User> getuserListbyStoreid(int storeid);

    //通过userID查询公司是否存在
    String getconpanycunzaibyuserId(int id);

    //修改公司信息
    int updatecustomer(Customer customer);

    //查看团订下该公司是否已经存在
    String getcustomerbynameundertuanding(String customerName, String orderSn);


    String getstaffNumber(String companyCode, String staffNumber);


    int querystoreIdbycode(String storeCode);

    String getupquanxian(String companyOrgcode);

    //修改店长权限编码
    void updatedianzhangOrgCode(int userId, String upquanxian);

    //通过token查询公司编码
    String getcompanycodebytoken(String token);

    //通过用户id查询公司编码
    String getcompanyCodebyuserId(int id);

    String getcompanyNamebyuserId(int id);

    //通过门店id查询所有地址
    IPage<store> getaddressbystoreId(Page<store> page, String storeId);

    //添加门店地址
    int addstoreaddress(store store);

    //删除门店的地址
    int deletestoreaddress(int id);

    //编辑门店的地址
    int updatestoreaddress(store store);

    //判断该公司下该品牌标是否已经存在
    String getoldppb(String ppbname, String companyId);

    int getoldppbid(String ppbname, String companyId);

    //查询门店名字是否已经存在
    String getoldStorenamecunzai(String storeName);
}
